package IO流.解压缩;

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class 压缩文件 {
    public static void main(String[] args) throws IOException {
        //1.创建要压缩的文件的对象
        File file=new File("D:\\A\\z.txt");
        //2.创建要压缩到的目的地的路径
        File src=new File("D:\\A");

        //3.进行压缩
        toZip(file,src);

    }

    //创建一个方法压缩文件
    public static void toZip(File file,File src) throws IOException {
        //1.创建压缩流关联的压缩包
        ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(new File(src,"z.zip")));

        //2.创建ZipEntry对象,表示要放入压缩包的每一个文件和文件夹
        ZipEntry entry=new ZipEntry("z.txt");
        //3.把ZipEntry对象放入压缩包中
        zos.putNextEntry(entry);
        //4.写入数据到压缩包中.
        //菜创建要写入的文件的输入流
        FileInputStream fis=new FileInputStream(file);
        int b;
        while ((b=fis.read())!=-1){
            zos.write(b);
        }
        //4.释放资源
        zos.closeEntry();
        zos.close();
    }
}
